<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <script>
        // 回调函数中的resolve和reject参数是函数类型，经过逻辑判断后我们可以
        // 指定运行那个参数函数，执行了resolve函数后，Promise对象的状态变为
        // resolved，执行了reject函数后，Promise对象状态变为rejected
        let promise = new Promise(function(resolve, reject) {
            console.log('创建Promise对象....')
            // resolve('success')
            reject('fail')
        })

        // promist.then()函数会等待Promise对象的回调函数执行完再执行，then
        // 中第一个函数是在Promise对象状态为resolved时执行，第二个函数实在
        // Promise对象状态为rejected时执行。
        promise.then(
            function(value) {
                console.log('promise执行成功结果' + value)
            },
            function(value) {
                console.log('promise执行失败结果' + value)
            }
        )

        // 其他代码不会等待Promise对象回调函数的执行
        console.log('code1运行.....')
        console.log('code2运行.....')
    </script>
</head>
<body>
</body>
</html>